package com.demo.jzoffer2;

import org.junit.Test;

/**
 * @author gy
 * @date 2022/11/6
 */
public class Test1106_1 {

    /**
     * 输入：command = "G()(al)"
     * 输出："Goal"
     * 解释：Goal 解析器解释命令的步骤如下所示：
     * G -> G
     * () -> o
     * (al) -> al
     * 最后连接得到的结果是 "Goal"
     *
     * 输入：command = "G()()()()(al)"
     * 输出："Gooooal"
     *
     * 输入：command = "(al)G(al)()()G"
     * 输出："alGalooG"
     * @param command
     * @return
     */
//    @Test
    public String interpret(String command) {
        // 思路分析：整个字符串 G 不用替换；需要替换的是（） （al）
        // 1、先将字符串的 () -> o
        // 2、然后再将 (al) -> al
        String firstStr = command.replace("()", "o");
        String secondStr = firstStr.replace("(al)", "al");
        return secondStr;
    }
    @Test
    public void test1() {
//        String command = "G()(al)";
//        String command = "G()()()()(al)";
        String command = "(al)G(al)()()G";
        System.out.println(interpret(command));
    }



}
